Internet search engines are designed to locate desired information from amongst the vast amount of information contained across the Internet. Users describe the information they are looking for by entering queries containing search terms. The search engine matches the search terms against an index of Web pages using a variety of relevance calculations with the objective of identifying those Web pages that are most likely related to the information sought by the users. The search engine then returns a ranked list of hyperlinks to these Web pages, with links to those pages thought to be most relevant nearer the top of the list.
The objective of search engines is to deliver the most relevant Web pages for a given query. Search engines determine the relevance of Web pages using a variety of techniques by, for example, considering information contained within each page, such as the presence, density, and proximity of the search terms within the document, considering information relating to hyperlinks between the Web pages, or the behavior of the user, such as clicking on, browsing, or rating results or Web pages. These techniques may be applied separately or together in various combinations to achieve the best result.
The process of determining which Web pages are most relevant is very difficult because the number of Web pages on the Internet is very large and growing, and there are often a large number of Web pages that nominally satisfy the users' queries. As well, most users are not sophisticated in the process of creating and entering well-formed queries, so there is ambiguity in what type of information they are seeking. Therefore, determining which documents are most relevant to the query by comparing the words in the query to words in the documents provides results of limited accuracy.
When users browse or search the Internet, they may “bookmark” various objects, such as Web pages, images, topics, Weblogs (also called “blogs”) or other objects by recording a reference to the object. These bookmarks may contain one or more “tags”, consisting of one or more terms, which the user associates with the object, a hyperlink to the object (a Uniform Resource Locator or “URL”), a mechanism for recording the relationship, and potentially other information. These bookmarks assist the user in recalling the object and any tags to assist in recalling or communicating to others what the object bookmarked is about. For example, if a user visits a Web page that describes solar power panels for the roof, he might bookmark and associate a tag with the page using the term “solar power”. He might also associate another Web page about a State solar power rebate program with the same tag using the term “solar power”. As a result, the tag with the term “solar power” is associated with both Web pages.
There are several ways in which users might enter tags, for example using a server application, a small applet in the bookmarks toolbar, a browser plug-in or extension, a client application or some other application. Once tags have been entered, it is usual to allow users to search for these tags, in order to display those Web pages associated with the tags. To date, services have been created that allow users to search their own tags, or to search other people's tags.
Bookmarks provide some kind of indication that a user values an object such as a Web page, and tags additionally provide some kind of indication that a user associates a certain term or terms with the object. This information is potentially valuable in determining whether or not that Web page should be displayed as a result of a query from a search engine, since it is an indication of actual human interest in that Web page, and an association with a particular subject.
It would be desirable to have a search engine that considers the tags associated with various Web pages, images, blogs or other objects in determining which Web pages, images, blogs or other objects are relevant to the user's queries.